﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using WaterBill.BUS;

namespace WaterBill.GUI
{
    public partial class frmBackup : DevExpress.XtraEditors.XtraForm
    {
        public frmBackup()
        {
            InitializeComponent();
        }
        BUS_Database busdatabase = new BUS_Database();
        FileDialog dl;

        public static Boolean _Backup;
        private void btnselect_Click(object sender, EventArgs e)
        {
            //radioGroup1.Properties.Items[radioGroup1.SelectedIndex].ToString() == "Sao Lưu"
            if (Convert.ToBoolean(radioGroup1.EditValue))
            {
                dl = new SaveFileDialog();
            }
            else
            {
                dl = new OpenFileDialog();
            }
            dl.Filter = "file type (*.bak)|*.bak";
            dl.DefaultExt = "bak";
            if (dl.ShowDialog() == DialogResult.OK)
            {
                txtbackup.Text = dl.FileName;
            }
        }

        private void btnActon_Click(object sender, EventArgs e)
        {
            if (txtbackup.Text == "")
            {
                XtraMessageBox.Show("Bạn chưa chọn đường dẫn!");
            }
            else if (Convert.ToBoolean(radioGroup1.EditValue))
            {
                try
                {
                    if (busdatabase.BUS_Database_Backup(txtbackup.Text))
                    {
                        XtraMessageBox.Show("Sao lưu dữ liệu thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else XtraMessageBox.Show("Lỗi, không thể sao lưu dữ liệu.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                catch
                {
                    XtraMessageBox.Show("Lỗi, không thể sao lưu dữ liệu.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }


            }
            else
            {
                splashScreenManager1.ShowWaitForm();
                try
                {
                    if (busdatabase.BUS_Database_Restore(txtbackup.Text))
                    {
                        splashScreenManager1.CloseWaitForm();
                        XtraMessageBox.Show("Phục hồi dữ liệu thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                    else
                    {
                        splashScreenManager1.CloseWaitForm();
                        XtraMessageBox.Show("Lỗi, không thể Phục hồi dữ liệu.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch
                {
                    splashScreenManager1.CloseWaitForm();
                    XtraMessageBox.Show("Lỗi, không thể Phục hồi dữ liệu.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }
        }

        private void frmBackup_Load(object sender, EventArgs e)
        {
            if (_Backup)
            {
                radioGroup1.EditValue = true;
                btnActon.ImageIndex = 1;
            }
            else
            {
                radioGroup1.EditValue = false;
                btnActon.ImageIndex = 2;
            }
        }

        private void radioGroup1_EditValueChanged(object sender, EventArgs e)
        {
            if (Convert.ToBoolean(radioGroup1.EditValue))
            {
                btnActon.ImageIndex = 1;
            }
            else
            {
                btnActon.ImageIndex = 2;
            }
        }
        
    }
}